//package com.cdxy.message.consumer;
//
//import com.cdxy.enums.mq.RabbitQueueNameEnum;
//import com.cdxy.service.IMqInnerService;
//import com.rabbitmq.client.Channel;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import java.util.Date;
//
///**
// * @Author: tangy
// * @Date: 2020/6/10 10:07
// */
//@Slf4j
//@Component
//public class DeadLetterConsumer {
//
//    @Autowired
//    private IMqInnerService mqInnerService;
//
//    @RabbitListener(queues = RabbitQueueNameEnum.DEAD_LETTER_QUEUE_A)
//    @RabbitHandler
//    public void deadLetterQueueA(Message message, Channel channel) {
//        String a = new String(message.getBody());
//        log.info("死信队列 A 收到 消息：{}", a);
//        try {
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//        } catch (Exception e) {
//            log.error("死信队列A。回调异常", e);
//        }
//    }
//
//    @RabbitListener(queues = RabbitQueueNameEnum.DEAD_LETTER_QUEUE_B)
//    @RabbitHandler
//    public void deadLetterQueueB(Message message, Channel channel) {
//        String a = new String(message.getBody());
//        log.info("死信队列 B 收到消息：{}", a);
//        try {
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//        } catch (Exception e) {
//            log.error("死信队列B。回调异常", e);
//        }
//    }
//
//
//    /**
//     * 延迟队列
//     *
//     * @param message
//     * @param channel
//     */
//    @RabbitListener(queues = RabbitQueueNameEnum.DELAY_DEAD_LETTER_QUEUE_A)
//    @RabbitHandler
//    public void delayDeadLetterA(Message message, Channel channel) {
//        String a = new String(message.getBody());
//        log.info("{} 延迟队列A 收到消息：{}", new Date(), a);
//        try {
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//        } catch (Exception e) {
//            log.error("延迟队列A，回调异常", e);
//        }
//    }
//
//    @RabbitListener(queues = RabbitQueueNameEnum.DELAY_DEAD_LETTER_QUEUE_B)
//    @RabbitHandler
//    public void delayDeadLetterB(Message message, Channel channel) {
//        String a = new String(message.getBody());
//        log.info("{} 延迟队列B 收到消息：{}", new Date(), a);
//        try {
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//        } catch (Exception e) {
//            log.error("延迟队列B，回调异常", e);
//        }
//    }
//}
